阅读更多
Crystal是一个开源的、类似于Ruby语法的编程语言,其特性如下:
  • 类似于Ruby的语法;
  • 支持静态类型检查,但无需指定变量类型或方法参数;
  • 可在Crystal内通过代码绑定调用C代码;
  • 在编译时进行代码评估和生成,避免了公式化的代码;
  • 编译后的代码是高效的本地码。

Crystal语法:Hello World

在Crytal中经典的Hello World程序代码是:



采用面向对象思路的写法是:



采用块思路的写法是:



尽管不同写法得出的程序性能各有差异,但幸好这些写法都是具表达力的。要运行Hellow World程序,请先安装好相关程序。

然后把Crystal代码保存为hello.cr文件,启动控制台后键入以下命令:



Crystal特性综述

高效代码生成

Crystal是非解释型语言,没有虚拟机,由LLVM编译为机器代码。你不必指定变量类型,实例变量或方法参数,与静态编译语言类似;Crytal可自行判断该采用什么类型。

多类型变量

可以不指定变量类型。如果变量被指派了多种类型,在编译时变量类型是包括所有类型的。在运行时时变量类型才是唯一的。



可以通过a.is_a?或a.responds_to?来检查类型。






方法

在Crystal中,方法是可以重载的,重载依据是参数个数,类型限制及方法的使用与否。



进行C绑定

可在Crystal中进行C代码绑定,例如以下的SDL绑定:



未来特性展望
  • 提供高效的,并行的垃圾回收器;
  • 提供类似于Erlang和Go的并发原生处理功能;
  • 更好的元编程方式;
  • 提供结构体类型,除了进行C代码绑定,还能编写更有效的封装代码和更少的内存占用;
  • 元组,命名元组和参数。

Hacker News上开发者对Crystal的精彩评论:
Habosa:我对一个有如此良好文档支持的新语言所深深震撼了,其技术博客有很多完整的里程碑式文章。

Arikrak:与Ruby如此相似的目的是什么呢?难道是能够直接运行Rails?我对此充满期待。

SomeCallMeTim:它真的酷毙了!如果能够在Windows平台上能够更高效地运行例如C/Go,就更加完美了。

文章来自:crystal-lang.org
  • 大小: 630 Bytes
  • 大小: 3.3 KB
  • 大小: 1.5 KB
  • 大小: 971 Bytes
  • 大小: 6.2 KB
  • 大小: 2 KB
  • 大小: 1.5 KB
  • 大小: 6.6 KB
  • 大小: 7.9 KB
0
0
评论 共 2 条 请登录后发表评论
2 楼 bewithme 2015-08-26 12:09
各种语言,有毛用?
1 楼 somefuture 2015-08-22 22:32
不是新语言吧

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • crystal:Crystal编程语言

    具有类似于Ruby的语法(但与其兼容不是目标) 进行静态类型检查,但不必指定变量或方法参数的类型。 可以通过在Crystal中编写对C代码的调用来调用C代码。 有编译时评估和代码生成,以避免样板代码。 编译为有效...

  • 申请了雅虎邮箱的全新域名@yahoo.cn ID

    
 中国雅虎这一招也挺绝的。后缀为 yahoo.cn 的邮箱提前对原后缀为 yahoo.com.cn 的 VIP 用户提前开放。网易原来急吼吼的喊着要赶在中国雅虎之前推出无限量邮箱的,看来是没机会了。你有张良计,我有上房梯。笑死。 现在注册要得到邀请信才可以,得不到邀请的可以不用着急,过不了几天就都开放了。 本来想用 “Fenng” 这个 ID 注册,可惜不允许,...

  • 从 “手机煮鸡蛋” 看常识的丧失

    
 最近有一则耸人听闻的”新闻”在网络上流传:手机65分钟煮熟鸡蛋. 很多网站很多 Blogger [eygle 也转载了] 纷纷转载。读者的第一感觉恐怕都是震惊手机的危害, 但对这个”试验”提出质疑的怕是少之又少. 网络上搜索了一下,果然实际上是一个高科技笑话. 看罢不禁哑然失笑, 暗自思量,其实不过是中学的物理学知识而已。怎么就这么多人深信不疑呢 ? 互联网的传播...

  • c类似的编程语言,类似于Ruby语法的编程语言_编程语言_C代码_程序性能

    Crystal是一个开源的、类似于Ruby语法的编程语言,支持静态类型检查,可在Crystal内通过代码绑定调用C代码等等。有开发者称其真的酷毙了。Crystal是一个开源的、类似于Ruby语法的编程语言,其特性如下:类似于Ruby的...

  • Crystal编程语言像Ruby一样流畅,像C一样快速[概述]

    为了永无止境地寻求工作速度(开发速度)和事物速度(性能)之间的协调,我遇到了一个处于孵化阶段的项目,当时我在想:“这可能是我的一种语言。” 乍看之下, Crystal是一种为人和计算机构建的编程语言,一见倾心...

  • crystal和ruby_Crystal编程语言像Ruby一样流畅,像C一样快速[概述]

    crystal和ruby 为了永无止境地寻求工作速度(开发速度)和事物速度(性能)之间的协调,我遇到了一个处于孵化阶段的项目,让我思考:“这可能是我的一种语言。” 乍一看,它是为人和计算机构建的编程语言Crystal的...

  • crystal, Crystal编程语言.zip

    crystal, Crystal编程语言 晶体 Crystal是一种具有以下目标的编程语言:有类似于 ruby的语法( 但与它的兼容性不是一个目标)无需指定变量或者方法参数类型的静态类型检查。可以通过在水晶中写入绑定来调用C 代码。...

  • crystal 编程语言_为什么Crystal是我2017年及以后最喜欢的编程语言

    如果您要问我经常联系我最喜欢的语言是什么的开发人员,我可以保证您会喊出一个响亮的“水晶!”。 原因很简单。 无论是Twitter,Telegram,Reddit还是博客,我总是分享对Crystal语言的热爱。 地狱,我再做一次。 ...

  • 为何弃 Java、JavaScript、Ruby 于不顾,而去寻找新的编程语言?

    最近,我开始纠结一个问题:如果开始自己的项目的话,我该用什么语言。 好多优秀的编程语言 在阅读此文之前,需要先说明几件事情。虽然在工作中大部分的时候我都用 Java、JavaScript 和 Ruby 来创建产品应用,但我...

  • 为什么Crystal是我2017年及以后最喜欢的编程语言

    如果您要问我经常联系我最喜欢的语言是什么的开发人员,我可以保证您会喊出一个响亮的“水晶!”。 原因很简单。 无论是Twitter,Telegram,Reddit还是博客,我总是分享对Crystal语言的热爱。 地狱,我再做一次。 ...

  • 一名优秀的开发者,主要应该学习哪些编程语言、框架和工具

    ​在开发者圈子中许多新的技术和概念层出不穷,人工智能、机器学习、ProgressiveWebApps等等,各种语言、框架和工具的更新也是让人看得眼花缭乱。作为开发者应该跟随潮流还是理性选择新技术? 软件开发行业继续向前...

  • 哪种编程语言最有前景_5种前景广阔的新兴编程语言

    哪种编程语言最有前景 当涉及到项目及其实现时,您应该考虑很多方面。 技术栈的选择是决定项目成功与顺利的关键因素之一。 根据您的应用程序,站点或产品的想法和要求,您可能会找到并选择适当的编程语言(PL)。 ...

  • 想要成一名优秀的程序员,需要了解学习哪些编程语言?

    学习其中的一门或多门:JS(ES2017),TypeScript,C#,Python,Ruby,PHP7,Java/Kotlin/Scala ...下一个版本,ES2017 预计将于 2017 年中期完成。它将带来许多 JS 开发人员渴望的特性 — 用于处理异步...

  • 计算机原理理解编程语言_计算机如何理解我们对编程语言及其工作原理的高级概述...

    计算机原理理解编程语言Many folks have at one point or another asked themselves how a computer really understands what it is that we’re telling it to do. Programmers around the world will type up a ...

  • 2017年你应该学习的编程语言、框架和工具

    2017年你应该学习的编程语言、框架和工具 2016 年在开发者圈子中许多新的技术和概念层出不穷,人工智能、机器学习、Progressive Web Apps 等等,各种语言、框架和工具的更新也是让人看得眼花缭乱。2017 年,...

  • 2017 年你应该学习的编程语言、框架和工具

    2016 年在开发者圈子中许多新的技术和概念层出不穷,人工智能、机器学习、Progressive Web Apps 等等,各种语言、框架和工具的更新也是让人看得眼花缭乱。2017 年,作为开发者应该跟随潮流还是理性选择新技术? ...

  • 罗塞塔语言包_罗塞塔代码(Rosetta Code)—揭开为世界提供动力的编程语言的奥秘

    罗塞塔语言包History.comHistory.com It’s no secret that the tech world is dominated by a relatively small pool of programming languages. While exact figures are difficult to obtain (and no doubt vary ...

  • 2017 年值得学习的编程语言有哪些

    再过半个月我们就迎来2017年,新的一年新的趋势下,哪些编程语言是值得我们继续学习的呢?

  • Windows 2003 sp1 Beta 发布了

    Microsoft 在 Windowsbeta 网站发布了 Microsoft Windows Server 2003 SP1 和 Windows XP x64 Edition 的最新技术测试版本, 内部版本1247.IDS,已经在Windowsbeta提供下载。本地下载已经提供。IE中新增Information Bar, Addon Manager等一系列XPSP2中的安全功能。

Global site tag (gtag.js) - Google Analytics